
/**
 * 仿写JSON内置API的parse方法
 * @param {String} javaData JSON数据格式
 * @returns Object
 */
// 创建方法函数       '{"a":1,"b":2}'  JSON数据格式
function fun(javaData){
                            // 去掉不需要的引号和花括号
    let str = javaData.replace(/"|{|}|\s/g,'')
    // 然后用,号分割开
    let arr = str.split(',')
    // 建立空对象
    let obj = {}

    arr.forEach(item => {
        // 遍历里面在继续用:分割
        let temp = item.split(':');
                        // 判断值是不是number类型，是走冒号左边，不是走冒号右边
        obj[temp[0]] = isNaN(Number(temp[1])) ? temp[1] : Number(temp[1])
    })
    // 返回出对象
    return obj
}

/**
* 仿写JSON内置API的stringify方法
* @param {Object} obj 标准普通对象
* @returns String
*/
// 创建方法函数
function stringify(obj) {
    // 创建空数组
    let arr = []
    // 对数组进行便利
    for (let key in obj) {
        let val = obj[key]
        // 将判断取反
        if (!['boolean','number'].includes(typeof val)) {
            // val等于值
            val = `"${obj[key]}"`
        }
        // 将得到的值拼接成对象格式
        arr.push(`"${key}":${val}`)
    }
    // 返回的值转换成json格式，按逗号分
    return `{${arr.join(',')}}`
}   